/** ************************************************************
 *  对接db，支持管理台管理默认数据库
 ***************************************************************/

const dbHelper = require('./utils/dbHelper')
const { tspLogger } = require('./util')

function insertSidData(sid, data) {
  dbHelper.T_SID_DATA.insert(sid, data)
}

function updateSidData(sid, data) {
  dbHelper.T_SID_DATA.update(sid, data)
}

function query(table, where) {
  checkTableValid(table)
  return dbHelper[table.toUpperCase()].query(where)
}

function checkTableValid(table) {
  if (!getTableNames().includes(table)) {
    tspLogger('error', 'checkTableValid', `Invalid table name ${table}`)
    throw new Error(`Invalid table name ${table}`)
  }
}

function getTableNames() {
  return Object.keys(dbHelper).map(k => dbHelper[k].tableName).filter(k => k)
}

module.exports = { insertSidData, updateSidData, query, getTableNames }
